using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TaskManage.Entity;

namespace TaskManage.Data
{
    public static class EntityRepository
    {
        private static List<任务类型> _所有任务类型;

        public static List<任务类型> 所有任务类型 =>
            _所有任务类型 ??= new List<任务类型>()
            {
                new 任务类型("工作"),
                new 任务类型("学习"),
                new 任务类型("娱乐"),
                new 任务类型("休闲"),
            };

        private static List<自然日类型> _所有自然日类型;

        public static List<自然日类型> 所有自然日类型 =>
            _所有自然日类型 ??= new List<自然日类型>()
            {
                new 自然日类型("工作日"),
                new 自然日类型("周六"),
                new 自然日类型("周日"),
                new 自然日类型("长假"),
            };

        private static List<日时间段类型> _所有日时间段类型;

        public static List<日时间段类型> 所有日时间段类型 =>
            _所有日时间段类型 ??= new List<日时间段类型>()
            {
                new 日时间段类型("睡觉"),
                new 日时间段类型("通勤"),
                new 日时间段类型("吃饭"),
                new 日时间段类型("工作"),
                new 日时间段类型("晚上"),
                new 日时间段类型("假期白天"),
            };

        public static List<日时间段> 取日固定占用时间段(DateTime date)
        {
            //TODO:将来要从数据库取
            var list = new List<日时间段>();
            list.Add(new 日时间段(new 时辰(19, 0, 0), new 时辰(20, 0, 0)));
            list.Add(new 日时间段(new 时辰(22, 0, 0), new 时辰(23, 0, 0)));
            return list;
        }
    }
}